package net.zoneland.knowledge.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Optional;

/**
 * 党组织.
 * @author zmq
 * @Date 2022/8/24 16:52
 */
public class PartyOrg implements Serializable {
    private static final long serialVersionUID = -1L;

    /**
     *组织唯一编码
     */
    private String orgUUID;
    /**
     *组织名称
     */
    private String orgName;
    /**
     *联系电话
     */
    private String tel;
    /**
     *换届时间
     */
    private String orgChangeTime;
    /**
     *地址
     */
    private String address;
    /**
     *党委编号
     */
    private String code;
    /**
     *组织类别
     */
    private String orgType;
    /**
     *单位名称
     */
    private String workOrganization;
    /**
     *党组织所在单位代码
     */
    private String workOrganizationCode;
    /**
     *党组织所在单位情况
     */
    private String workOrganizationType;
    /**
     *党组织联系人
     */
    private String orgContacts;
    /**
     *是否为党群工作部门
     */
    private String dangQunWorkDepartment;
    /**
     *是否为党建部门
     */
    private String dangJianDepartment;
    /**
     *党办主任
     */
    private String dbzr;
    /**
     *副党办主任
     */
    private String dbfzr;
    /**
     *党委书记
     */
    private String dwsj;
    /**
     *组织现任领导名单
     */
    private List<PartyOrgLeader> orgLeader;
    /**
     *组织历任领导名单
     */
    private String orgLeaderPast;

    /**
     * 导入时间.
     */
    private Date importTime;

    /**
     * 所属责任区信息.
     */
    private List<GridDutyCommandosOrg> dutyList;

    /**
     * 所属突击队信息.
     */
    private List<GridDutyCommandosOrg> commandosList;

    /**
     * 支部品牌.
     */
    private List<String> branchBrandList;

    /**
     * 支部品牌对象列表.
     */
    private List<BranchBrand> branchBrands;

    /**
     * 当组织下所属先锋岗用户.
     */
    private List<PartyUser> pioneerPostUsers;

    /**
     * 组织名称简称.
     */
    private String orgShortName;

    /**
     * 书记头衔.
     */
    private String orgSj;

    /**
     * 组织委员头衔.
     */
    private String orgDw;

    /**
     * 组织名称简称2.
     */
    private String shortName2;

    /**
     * 书记手机号.
     */
    private String sjMobile;

    /**
     * 书记员工编号.
     */
    private String sjId;

    /**
     * 上一级党组织id.
     */
    private String parentOrgUuid;

    /**
     * 所在公司编号
     */
    private String companyDn;

    /**
     * 是否已收藏
     */
    private boolean favoriteStatus;

    /**
     * 所在公司编号
     */
    private String companyName;

    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgUUID() {
        return orgUUID;
    }
    /**
     * 设置 属性值.
     * @param orgUUID 属性值
     */
    public void setOrgUUID(final String orgUUID) {
        this.orgUUID = orgUUID;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgName() {
        return orgName;
    }
    /**
     * 设置 属性值.
     * @param orgName 属性值
     */
    public void setOrgName(final String orgName) {
        this.orgName = orgName;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getTel() {
        return tel;
    }
    /**
     * 设置 属性值.
     * @param tel 属性值
     */
    public void setTel(final String tel) {
        this.tel = tel;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgChangeTime() {
        return orgChangeTime;
    }
    /**
     * 设置 属性值.
     * @param orgChangeTime 属性值
     */
    public void setOrgChangeTime(final String orgChangeTime) {
        this.orgChangeTime = orgChangeTime;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getAddress() {
        return address;
    }
    /**
     * 设置 属性值.
     * @param address 属性值
     */
    public void setAddress(final String address) {
        this.address = address;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getCode() {
        return code;
    }
    /**
     * 设置 属性值.
     * @param code 属性值
     */
    public void setCode(final String code) {
        this.code = code;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgType() {
        return orgType;
    }
    /**
     * 设置 属性值.
     * @param orgType 属性值
     */
    public void setOrgType(final String orgType) {
        this.orgType = orgType;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getWorkOrganization() {
        return workOrganization;
    }
    /**
     * 设置 属性值.
     * @param workOrganization 属性值
     */
    public void setWorkOrganization(final String workOrganization) {
        this.workOrganization = workOrganization;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getWorkOrganizationCode() {
        return workOrganizationCode;
    }
    /**
     * 设置 属性值.
     * @param workOrganizationCode 属性值
     */
    public void setWorkOrganizationCode(final String workOrganizationCode) {
        this.workOrganizationCode = workOrganizationCode;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getWorkOrganizationType() {
        return workOrganizationType;
    }
    /**
     * 设置 属性值.
     * @param workOrganizationType 属性值
     */
    public void setWorkOrganizationType(final String workOrganizationType) {
        this.workOrganizationType = workOrganizationType;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgContacts() {
        return orgContacts;
    }
    /**
     * 设置 属性值.
     * @param orgContacts 属性值
     */
    public void setOrgContacts(final String orgContacts) {
        this.orgContacts = orgContacts;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getDangQunWorkDepartment() {
        return dangQunWorkDepartment;
    }
    /**
     * 设置 属性值.
     * @param dangQunWorkDepartment 属性值
     */
    public void setDangQunWorkDepartment(final String dangQunWorkDepartment) {
        this.dangQunWorkDepartment = dangQunWorkDepartment;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getDangJianDepartment() {
        return dangJianDepartment;
    }
    /**
     * 设置 属性值.
     * @param dangJianDepartment 属性值
     */
    public void setDangJianDepartment(final String dangJianDepartment) {
        this.dangJianDepartment = dangJianDepartment;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getDbzr() {
        return dbzr;
    }
    /**
     * 设置 属性值.
     * @param dbzr 属性值
     */
    public void setDbzr(final String dbzr) {
        this.dbzr = dbzr;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getDbfzr() {
        return dbfzr;
    }
    /**
     * 设置 属性值.
     * @param dbfzr 属性值
     */
    public void setDbfzr(final String dbfzr) {
        this.dbfzr = dbfzr;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */    public String getDwsj() {
        return dwsj;
    }
    /**
     * 设置 属性值.
     * @param dwsj 属性值
     */
    public void setDwsj(final String dwsj) {
        this.dwsj = dwsj;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public List<PartyOrgLeader> getOrgLeader() {
        return orgLeader;
    }
    /**
     * 设置 属性值.
     * @param orgLeader 属性值
     */
    public void setOrgLeader(final List<PartyOrgLeader> orgLeader) {
        this.orgLeader = orgLeader;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgLeaderPast() {
        return orgLeaderPast;
    }
    /**
     * 设置 属性值.
     * @param orgLeaderPast 属性值
     */
    public void setOrgLeaderPast(final String orgLeaderPast) {
        this.orgLeaderPast = orgLeaderPast;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public Date getImportTime() {
        return Optional.ofNullable(importTime).map(it -> (Date) it.clone()).orElse(null);
    }

    /**
     * 设置 属性值.
     * @param importTime 属性值
     */
    public void setImportTime(final Date importTime) {
        this.importTime = Optional.ofNullable(importTime).map(it -> (Date) it.clone()).orElse(null);
    }

    /**
     * 设置 dutyList.
     *
     * @return dutyList
     */
    public List<GridDutyCommandosOrg> getDutyList() {

        return dutyList;
    }

    /**
     * 设置 dutyList.
     *
     * @param dutyList dutyList
     */
    public void setDutyList(List<GridDutyCommandosOrg> dutyList) {
        this.dutyList = dutyList;
    }

    /**
     * 设置 commandosList.
     *
     * @return commandosList
     */
    public List<GridDutyCommandosOrg> getCommandosList() {
        return commandosList;
    }

    /**
     * 设置 commandosList.
     *
     * @param commandosList commandosList
     */
    public void setCommandosList(List<GridDutyCommandosOrg> commandosList) {
        this.commandosList = commandosList;
    }

    /**
     * 设置 branchBrandList.
     *
     * @return branchBrandList
     */
    public List<String> getBranchBrandList() {

        return branchBrandList;
    }

    /**
     * 设置 branchBrandList.
     *
     * @param branchBrandList branchBrandList
     */
    public void setBranchBrandList(final List<String> branchBrandList) {

        this.branchBrandList = branchBrandList;
    }

    /**
     * 获取 pioneerPostUsers.
     *
     * @return pioneerPostUsers
     */
    public List<PartyUser> getPioneerPostUsers() {

        return pioneerPostUsers;
    }

    /**
     * 设置 pioneerPostUsers.
     *
     * @param pioneerPostUsers pioneerPostUsers
     */
    public void setPioneerPostUsers(final List<PartyUser> pioneerPostUsers) {

        this.pioneerPostUsers = pioneerPostUsers;
    }

    /**
     * 获取 orgShortName.
     *
     * @return orgShortName
     */
    public String getOrgShortName() {

        return orgShortName;
    }

    /**
     * 设置 orgShortName.
     *
     * @param orgShortName orgShortName
     */
    public void setOrgShortName(final String orgShortName) {

        this.orgShortName = orgShortName;
    }

    /**
     * 获取 orgSj.
     *
     * @return orgSj
     */
    public String getOrgSj() {

        return orgSj;
    }

    /**
     * 设置 orgSj.
     *
     * @param orgSj orgSj
     */
    public void setOrgSj(final String orgSj) {

        this.orgSj = orgSj;
    }

    /**
     * 获取 orgDw.
     *
     * @return orgDw
     */
    public String getOrgDw() {

        return orgDw;
    }

    /**
     * 设置 orgDw.
     *
     * @param orgDw orgDw
     */
    public void setOrgDw(final String orgDw) {

        this.orgDw = orgDw;
    }

    /**
     * 获取 shortName2.
     *
     * @return shortName2
     */
    public String getShortName2() {

        return shortName2;
    }

    /**
     * 设置 shortName2.
     *
     * @param shortName2 shortName2
     */
    public void setShortName2(final String shortName2) {

        this.shortName2 = shortName2;
    }

    /**
     * 获取 支部品牌对象列表.
     *
     * @return branchBrands 支部品牌对象列表.
     */
    public List<BranchBrand> getBranchBrands() {
        return this.branchBrands;
    }

    /**
     * 设置 支部品牌对象列表.
     *
     * @param branchBrands 支部品牌对象列表.
     */
    public void setBranchBrands(List<BranchBrand> branchBrands) {
        this.branchBrands = branchBrands;
    }

    /**
     * 获取 sjMobile.
     *
     * @return sjMobile
     */
    public String getSjMobile() {

        return sjMobile;
    }

    /**
     * 设置 sjMobile.
     *
     * @param sjMobile sjMobile
     */
    public void setSjMobile(final String sjMobile) {

        this.sjMobile = sjMobile;
    }

    /**
     * 获取 sjId.
     *
     * @return sjId
     */
    public String getSjId() {

        return sjId;
    }

    /**
     * 设置 sjId.
     *
     * @param sjId sjId
     */
    public void setSjId(final String sjId) {

        this.sjId = sjId;
    }

    /**
     * 获取 parentOrgUuid.
     *
     * @return parentOrgUuid
     */
    public String getParentOrgUuid() {

        return parentOrgUuid;
    }

    /**
     * 设置 parentOrgUuid.
     *
     * @param parentOrgUuid parentOrgUuid
     */
    public void setParentOrgUuid(final String parentOrgUuid) {

        this.parentOrgUuid = parentOrgUuid;
    }

    public String getCompanyDn() {
        return companyDn;
    }

    public void setCompanyDn(String companyDn) {
        this.companyDn = companyDn;
    }

    public boolean isFavoriteStatus() {
        return favoriteStatus;
    }

    public void setFavoriteStatus(boolean favoriteStatus) {
        this.favoriteStatus = favoriteStatus;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
}

